﻿using System.Collections.Generic;

namespace Commons.Models.OperationsContext
{
	public class BasicOperationContext : IOperationContext
	{
		public const string ProcessRewardKey = "ProcessReward";  
		public const string ProcessCostKey = "ProcessCost";  

		private IDictionary<string, object> dictionary = new Dictionary<string, object>();

		public void Add(string key, object value)
		{
			dictionary[key] = value;
		}

		public bool ContainsKey(string key)
		{
			return dictionary.ContainsKey(key);
		}

		public object Get(string key)
		{
			return dictionary[key];
		}

		public T Get<T>(string key)
		{
			return (T) dictionary[key];
		}
	}
}
